1. Field of the Invention
The present invention relates generally to the field of counting devices, and more particularly to counting devices employed to control large numbers of independent circuits.
2. Description of the Related Art
Certain devices contain large blocks of controllable independent circuits. For example, magnetic random access memory (MRAM) circuits can include large arrays of independent circuits all requiring precision control. Control of large blocks or arrays of circuits has typically been difficult, and an efficient system for providing rapid circuit control for such an array has been generally unavailable.
Circuits with a large number arrays have employed counters to provide control over large arrays of independent circuits. Such counters may be employed with at least one register file and typically employ Load and Store circuits. Load and Store circuits, as the name implies, load data from a register into a counter and store data from the counter back into the register. The problem has been one of capacity, in that one Load and Store circuit can load and store information for one independent circuit block. If additional independent circuit blocks are used, a larger register is employed, but more significantly, multiple Load and Store circuits must be used to effectuate control over all circuits operating independently. Use of more circuits can be problematic, as they take up space and require significant power to effectively control the array of independent circuits.
Advanced applications, such as MRAM applications, cannot tolerate significant power consumption or the high costs associated with inefficient circuit layout. In order to provide more efficiency for applications employing multiple counting functions, multiple counters have been employed in parallel. Each counter holds its own state in this arrangement without the need for separate storage registers. However, such a design may be impractical for large blocks of independent circuits, such as M by N arrays, where M and N are greater than two. In this type of design, obtaining the state of the counter and providing that state to its independent circuit can present various problems, including but not limited to timing and throughput. Simply put, a large array of circuits cannot quickly and efficiently receive large amounts of control data states from a large array of control circuits holding individual circuit state information.
It would be advantageous to provide a counter or counting device able to quickly and efficiently provide control states to a set of M by N independent circuits, where the counter or counting device tends to result in generally improved performance.